package cntr.symboltable;

/**
 * Created by Thanh-Trung Pham.
 */
public interface Scope {
    /**
     * Get the scope name.
     * @return the scope name.
     */
    String getScopeName();

    /**
     * Get the enclosing scope
     * @return the enclosing scope.
     */
    Scope getEnclosingScope();

    /**
     * Define the symbol.
     * @param symbol the symbol
     */
    void define(Symbol symbol);

    /**
     * Resolve the name to a symbol.
     * @param name the name.
     * @return the symbol.
     */
    Symbol resolve(String name);




}
